It is an aim of the invention to enable the updating of an application of this kind while at the same time preserving the basics or even the totality of the STB functions during the updating.
In the prior art, the microcode of an STB is broadcast in the same way as a multimedia program. The STB is capable of detecting the broadcasting of such an update. When the availability of such an update is detected, in the best of cases, the STB asks the user if he or she wishes to update the microcode. If the answer is affirmative, the STB is unavailable throughout the time of the updating. Inasmuch as the bit rates allocated to the transmission of updates are low, such an update can take up to one hour. This is a problem because the availability of such an update is detected when the STB is powered on i.e. when its user wishes to use the functions of the STB.
The updating is indeed done by a loader program which overwrites the former microcode, thus making it impossible to execute it.
The invention resolves these problems by authorizing the coexistence of several microcodes in one STB. The microcode executed when the STB is started then depends on the parameterizing of the STB. Thus, when the availability of a new microcode is detected, one part of the resources of the STB is allocated to the recording of this new microcode beside the existing microcode or microcodes. The next time the device is turned on or when the recording is ended, the user is alerted to the availability of this new microcode and may choose it as a default microcode, i.e. the user can change the parameterization for the starting of the STB. In the invention, the STB has at least two input devices, one of these devices being allocated to the acquisition for recording of the new microcode. An input device is generally a data receiver device. An input device is for example a tuner, a CD/DVD reader, a serial port (RS232, USB etc).